package io.mybatis.example.springboot.model;

import io.mybatis.provider.Entity;
import org.apache.ibatis.type.JdbcType;

import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * gen_table_column - 代码生成业务表字段
 *
 * @author mkj
 */
@Getter
@Setter
@Entity.Table("gen_table_column" remark = "代码生成业务表字段", autoResultMap = true)
public class GenTableColumnDO {
  @Entity.Column(value = "column_id", id = true, remark = "编号", updatable = false, insertable = false)
  private Long columnId;

  @Entity.Column(value = "table_id", remark = "归属表编号")
  private String tableId;

  @Entity.Column(value = "column_name", remark = "列名称")
  private String columnName;

  @Entity.Column(value = "column_comment", remark = "列描述")
  private String columnComment;

  @Entity.Column(value = "column_type", remark = "列类型")
  private String columnType;

  @Entity.Column(value = "java_type", remark = "JAVA类型")
  private String javaType;

  @Entity.Column(value = "java_field", remark = "JAVA字段名")
  private String javaField;

  @Entity.Column(value = "is_pk", remark = "是否主键（1是）")
  private String isPk;

  @Entity.Column(value = "is_increment", remark = "是否自增（1是）")
  private String isIncrement;

  @Entity.Column(value = "is_required", remark = "是否必填（1是）")
  private String isRequired;

  @Entity.Column(value = "is_insert", remark = "是否为插入字段（1是）")
  private String isInsert;

  @Entity.Column(value = "is_edit", remark = "是否编辑字段（1是）")
  private String isEdit;

  @Entity.Column(value = "is_list", remark = "是否列表字段（1是）")
  private String isList;

  @Entity.Column(value = "is_query", remark = "是否查询字段（1是）")
  private String isQuery;

  @Entity.Column(value = "query_type", remark = "查询方式（等于、不等于、大于、小于、范围）")
  private String queryType;

  @Entity.Column(value = "html_type", remark = "显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）")
  private String htmlType;

  @Entity.Column(value = "dict_type", remark = "字典类型")
  private String dictType;

  @Entity.Column(value = "sort", remark = "排序")
  private Integer sort;

  @Entity.Column(value = "create_by", remark = "创建者")
  private String createBy;

  @Entity.Column(value = "create_time", remark = "创建时间", jdbcType = JdbcType.TIMESTAMP)
  private Date createTime;

  @Entity.Column(value = "update_by", remark = "更新者")
  private String updateBy;

  @Entity.Column(value = "update_time", remark = "更新时间", jdbcType = JdbcType.TIMESTAMP)
  private Date updateTime;

}
